Automatic Derivation of Loop Termination Conditions to Support Verification

نویسنده

  • Daniel Powell
چکیده

This paper introduces a repeatable and constructive approach to the analysis of loop progress and termination conditions in imperative programs. It is applicable to all loops for which a variant function can be defined using only loop guard variables. The approach involves the algorithmic derivation of loop progress and termination conditions directly from the code itself. The derivation of these conditions has been automated in a prototype tool. The conditions yielded by the automated algorithms are useful for reasoning about correctness in verification based code inspections as well as for the documentation and assessment of program preconditions. Unlike existing formal approaches to termination investigation, which are reliant on the presence of formal specifications, this approach is applicable to undocumented programs as well as formally specified programs. We present the algorithms and formal methods implemented in a prototype tool for deriving loop progress and termination conditions and use the output generated by the tool to illustrate its use in supporting verification and termination defect correction.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Termination Checker for Isabelle Hoare Logic

Hoare logic is widely used for software specification and verification. Frequently we need to prove the total correctness of a program: to prove that the program not only satisfies its preand post-conditions but also terminates. We have implemented a termination checker for Isabelle’s Hoare logic. The tool can be used as an oracle, where Isabelle accepts its claim of termination. The tool can a...

متن کامل

Verification of Imperative Programs in Theorema

We present the design and the implementation of a prototype verification condition generator for imperative programs. The generator is part of the Theorema system, a computer aided mathematical assistant which offers automated reasoning and computer algebra facilities. We use Hoare Logic and the weakest precondition strategy, but in addition we propose a novel method for analyzing loop construc...

متن کامل

Error assessment in man-machine systems using the CREAM method and human-in-the-loop fault tree analysis

Background and Objectives: Despite contribution to catastrophic accidents, human errors have been generally ignored in the design of human-machine (HM) systems and the determination of the level of automation (LOA). This paper aims to develop a method to estimate the level of automation in the early stage of the design phase considering both human and machine performance. Methods: A quantita...

متن کامل

Verifying Termination of General Logic Programs with Concrete Queries

We introduce a method of verifying termination of logic programs with respect to concrete queries (instead of abstract query patterns). A necessary and sufficient condition is established and an algorithm for automatic verification is developed. In contrast to existing query pattern-based approaches, our method has the following features: (1) It applies to all general logic programs with non-fl...

متن کامل

Termination of Derivations in a Fragment of Transitive Distributed Knowledge Logic

A transitive distributed knowledge logic is considered. The considered logic S4nD is obtained from multi-modal logic S4n by adding transitive distributed knowledge operator. For a fragment of this logic loop-check-free sequent calculus is proposed. The considered fragment is such that it can be applied for specification and verification of safety properties of knowledge-based distributed system...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004